1. Field of the Invention
This invention relates to digital communications systems and more particularly to an apparatus and method having the capability to transmit or receive 8-bit link control bytes or information bytes of any size.
2. Description of the Prior Art
There is a great network of telecommunications links that span the industrialized countries of the world. This network can be utilized by computer systems to transmit and receive data over communication lines. Data transmission can be either synchronous or asynchronous which is also often known as start-stop transmission. With asynchronous transmission one character is sent at a time by initializing first with a "start" signal and then ending with a "stop" signal. The pulses between the "start" and "stop" signal identify the bits of which the character is composed. As can readily be seen, asynchronous transmission is rather slow. It is desirable therefore to transmit characters continuously wherein the bits of one character are followed immediately by those of the next in a synchronous mode. Between these characters there are no "start" or "stop" signals and no pauses. The stream of characters of this type is generally divided into blocks or messages which may in turn be subdivided into characters. All of the bits of the message are transmitted at equal time intervals and the transmitting and receiving machines must be exactly in synchronization for the duration of the message, so that the receiving machine knows which is the first bit and thus recognize which are the bits of each character. In earlier forms of prior art, a synchronous message generally started with a sequence of synchronization characters (usually 3 or 4), and ended with a unique "end of message" character, often followed by a character or characters containing longitudinal parity or cyclic redundancy check data, enabling the receiver to verify the integrity of the data in the message by means well known to the art. Data within the message was in the form of groups of equal-length (typically 8-bit characters often called bytes), with special characters used to separate header, text and other logical blocks of data. Systems of this type are inefficient or cumbersome in operation when it is desired to transmit binary (non-byte-oriented or non-text-oriented) data over the communications network. An example of non-text type data would be analog data which has been converted to binary data for transmission. Another example would be the transmission of computer programs where the native word size of the computer's memory (normally corresponds to the number of bits in a typical machine "instruction"--e.g., 36-bit) is not readily divisible into the 8-bit types (or 7 bits plus a parity bit) normally used for transmission. One problem is, therefore, that binary (non-text) data often is not conveniently divisible into bytes for transmission. Another problem is that binary data, by its very nature, may be presumed to assume any possible combination of values of bits (ones and zeros), whereas byte-oriented data organized for transmission over communications lines has certain bit combinations (i.e., character "values") reserved for special control functions. These control characters are the synchronization, end of message, and blocking characters referred to earlier. The obvious danger in transmitting binary data in such a system is that the binary data may be coincidence assume the combination of bits associated or assigned to a communications control character (because with binary data no bit combinations are reserved or precluded). This could cause the receiver to initiate control action prematurely or improperly.
Recently, a new class, or type of data transmission system has begun to evolve. This is the so-called "bit-oriented" control procedures. It exists in various forms and by various trade names as offered by individual manufacturers. A standardized version of a bit-oriented producedure is being developed and documented by the American National Standards Institute, Inc. (ANSI), 1430 Broadway, New York, N.Y. 10018. It is known as ADCCP (Advanced Data Communication Control Procedure). These bit-oriented transmission procedures offer particular advantages for the transmission of binary or non-text-oriented data. This is because the discipline or procedure eliminates (at least theoretically) the two problems discussed in the previous paragraph. A technique implicit in the ADCCP discipline eliminates the possibility that random patterns of the data bits may inadvertently assume the bit configurations of communications control characters. The technique is called "zero bit insertion/deletion" and will be discussed later. In addition, the data in the information portion of an ADCCP frame (message) is completely arbitrary in nature. It is not restricted to a sequence of fixed-length bytes (characters). This is an ideal situation for the transmission of binary data, since presumably a "string" of binary data of an arbitrary number of bits could be directly transmitted without regard for blocking into fixed-length bytes. Theoretically such is the case. To be practical, however, the world of computers is a byte-or word-oriented world. All of the registers, data paths, arithmetic units and storage media are constructed and organized to handle fixed-length entities. Such is also the case with computer data communications channels. Therefore binary data will inevitably be positioned, or blocked, into fixed-length bytes for convenience of storage, processing and transmission. However, it is desirable to have the additional capability of transmitting and/or receiving a variety of text byte sizes. In the new bit oriented High Level Data Link Control System (HDLC), it is desirable to allow total code independence in the information field. Link control bytes are 8 bits; however, information bytes may be any size. What is required therefore is a variety of text byte sizes; and more specifically of 6, 7, 8 and 9 bit sizes.